encyklopedia.space

ISO/IEC 8859‑7

ISO/IEC 8859‑7, znany również jako Latin/Greek, jest jedną z serii ISO/IEC 8859 – standardów określających 8‑bitowe zestawy znaków przeznaczone do kodowania alfabetów zachodnioeuropejskich i niektórych innych języków. Konkretny wariant 8859‑7 został opracowany w celu wsparcia języka greckiego (zarówno nowoczesnego, jak i klasycznego) oraz kilku języków używających alfabetu greckiego, takich jak cypryjski i niektóre dialekty języka łacińskiego stosowane w literaturze greckiej.

Historia

Projektowanie serii ISO/IEC 8859 rozpoczęło się w drugiej połowie lat 80. XX wieku, kiedy to potrzeba jednolitego, jednobajtowego kodowania znaków dla różnych języków europejskich stała się widoczna w środowiskach komputerowych. Standard 8859‑7 został przyjęty w 1987 roku przez komitet ISO w ramach podkomitetu JTC‑1/SC‑2. W 1999 r. pod kątem zgodności z nowoczesnymi systemami został ponownie zatwierdzony i opublikowany jako ISO/IEC 8859‑1 – później uznany za wersję referencyjną.

Zastosowanie

  • Systemy operacyjne i aplikacje w Grecji oraz na Cyprze w latach 80.–2000.
  • Legacy‑owe bazy danych i pliki tekstowe, ktĂłre nie przeszĹ‚y na Unicode.
  • NiektĂłre urzÄ…dzenia wbudowane, drukarki i telewizory cyfrowe wykorzystywaĹ‚y ten zestaw znakĂłw jako domyĹ›lny w interfejsie uĹĽytkownika.

Struktura i mapa znakĂłw

ISO/IEC 8859‑7 to jednowyrazowy (8‑bitowy) kodowanie, w którym 0‑127 (00‑7F) to standardowy zestaw ASCII. Pozycje 128‑159 (80‑9F) są nieprzypisane (control characters), a 160‑255 (A0‑FF) zawierają greckie litery oraz dodatkowe znaki interpunkcyjne i symboliczne.

HexUnicodeOpis
A0U+00A0NO‑BREAK SPACE
A1U+2018LEFT SINGLE QUOTATION MARK
A2U+2019RIGHT SINGLE QUOTATION MARK
A3U+00A3POUND SIGN
A4U+20ACEURO SIGN (od wersji 1998)
A5U+20AFDRACHMA SIGN
A6U+00A6BROKEN BAR
A7U+00A7SECTION SIGN
A8U+00A8DIACRITICAL MARK
A9U+00A9COPYRIGHT SIGN
AAU+037AGREEK YPOGEGRAMMENI
ABU+00ABLEFT-POINTING DOUBLE ANGLE QUOTATION MARK
ACU+00ACNOT SIGN
ADU+00ADSOFT HYPHEN
AEU+00AEREGISTERED SIGN
AFU+2015HORIZONTAL BAR
C0U+0391GREEK CAPITAL LETTER ALPHA
C1U+0392GREEK CAPITAL LETTER BETA
C2U+0393GREEK CAPITAL LETTER GAMMA
C3U+0394GREEK CAPITAL LETTER DELTA
C4U+0395GREEK CAPITAL LETTER EPSILON
FFU+03FFGREEK SMALL LETTER OMEGA

Kompatybilność i migracja

ISO/IEC 8859‑7 jest w pełni kompatybilny z ASCII w pierwszej połowie (0‑127). Współczesne systemy operacyjne i edytory tekstu zazwyczaj automatycznie wykrywają i konwertują pliki z tym kodowaniem do formatu Unicode (UTF‑8 lub UTF‑16). Narzędzia takie jak iconv czy biblioteki ICU oferują funkcje konwersji pomiędzy ISO/IEC 8859‑7 a Unicode.

PorĂłwnanie z innymi kodowaniami

  • ISO/IEC 8859‑1 – przeznaczony dla alfabetu Ĺ‚aciĹ„skiego zachodniego, nie zawiera greckich liter.
  • ISO/IEC 8859‑9 – turecka wersja 8859‑1, rĂłwnieĹĽ nie obsĹ‚uguje greki.
  • Windows‑1253 – 8‑bitowy zestaw znakĂłw greckich uĹĽywany w systemach Microsoft, posiada dodatkowe znaki nieobecne w 8859‑7.
  • Unicode (UTF‑8/UTF‑16) – jednorodne rozwiÄ…zanie obejmujÄ…ce wszystkie znaki greckie oraz tysiÄ…ce innych pism.

Przykłady użycia

// Przykład w języku C – konwersja z ISO‑8859‑7 do Unicode
#include <iconv.h>
#include <stdio.h>
int main() {
    const char *in = "\xC3\xE1\xE4\xEC\xEF\xE7"; // „Άβγδεζ” w ISO‑8859‑7
    char out[256];
    size_t inbytes = 6, outbytes = sizeof(out);
    iconv_t cd = iconv_open("UTF-8", "ISO-8859-7");
    char *pin = (char*)in, *pout = out;
    iconv(cd, &pin, &inbytes, &pout, &outbytes);
    iconv_close(cd);
    printf("UTF‑8: %s\n", out);
    return 0;
}

Widok dzisiaj

Choć ISO/IEC 8859‑7 został w dużej mierze zastąpiony przez Unicode, nadal można go spotkać w:

  • archiwalnych dokumentach i bazach danych w Grecji;
  • starszych systemach kontroli wersji, ktĂłre nie obsĹ‚ugujÄ… Unicode;
  • specyficznych aplikacjach przemysĹ‚owych, gdzie migracja wymagaĹ‚aby kosztownych zmian.

Zobacz takĹĽe